/*****************************************************************************
* @author  : windsPx                                                         *
* @date    :                                                                 *
* @file    :                                                                 *
* @brief   :                                                                 *
*----------------------------------------------------------------------------*
* Date        | Version   | Author         | Description                     *
*----------------------------------------------------------------------------*
*             |           |  windsPx              |                          *
*****************************************************************************/

#pragma once
#include <stdio.h>
#ifdef _WIN32
#include <WinSock2.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
#else
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <semaphore.h>
#include <sys/types.h>
#endif
#include <assert.h>
#include <time.h>
#include <sys/timeb.h>
#include <vector>
#include <list>
#include <string>
#include <map>
#include <atomic>
#include <memory>
#include <algorithm>
#include <mutex>

namespace _disruptor
{
constexpr int BuffSize = 1024 * 4;             //char[]长度
constexpr int BuffLen = 1024/* * 8*/;              //buf列表长度 2^13

constexpr int ProduceType_Single = 0;         //单生产者
constexpr int ProduceType_Multi = 1;          //多生产者

constexpr int BaseMem = 0;                         //预设的内存块
constexpr int ObjMemPtr = 1;                      //ring存的是指针 一次处理一个
constexpr int ObjBatchPtr = 2;                      //ring存的是指针 一次处理一批

typedef unsigned long long RINGINDEX;
}
